package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * AutoFill 注释用于标记应根据指定的数据库作自动填充某些字段的方法。
 * 它支持两种类型的作：update 和 insert，它们由 OperationType 枚举定义。此注释适用于以下情况
 * 在将默认值保存到数据库之前自动设置默认值或修改字段值的过程。
 *
 * @param value 触发自动填充行为的数据库作（更新或插入）的类型
 */

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoFill {
  // 数据库操作类型：update insert
  OperationType value();
}
